<?php
/**
 * @name gen_MySQL_Conexion
 * Administra la conexión MySQL a la base de datos.
 * @author Sebastián Martínez Ortiz - SENA(CESGE) - ADSI(259752)
 * @version 1.00 
 * @copyright 2012
 */
class gen_MySQL_Conexion
{
    /** private String: Servidor de la base de datos. */
    private $host;      
    /** private Int: Puerto del servidor de base de datos. */
    private $port;      
    /** private String: Nombre de usuario del motor de la base de datos. */
    private $user;      
    /** private String: Contraseña del usuario del motor de la base de datos. */
    private $pass;      
    /** private String: Nombre de la base de datos a la que se va a conectar. */
    private $db;        
    /** private Resource: Recurso con el objeto de la conexión. */
    private $conection; 
    /** private Resource: Recurso con el resultado de la consulta MySQL. */
    private $result;    

    /** 
     * Constructor, abre una conexión persistente a un servidor MySQL.
     * @return Bool
     */
    public function __construct()
    {        
        $this->host = 'localhost';
        $this->port = 3306;
        $this->user = 'root';
        $this->pass = '';
        $this->db = 'db_sisge';
        if ($this->conection = mysql_pconnect($this->host, $this->user, $this->pass))
        {
            mysql_select_db($this->db);
            return true;
        } 
        else{
            return false;
        }
    }
    
    /** 
     * @name Query
     * Ejecuta una consulta MySQL en la base de datos.
     * @param String [query] -> Comando SQL a ejecutar.
     * @return Resource
     */
    public function Query($query)
    {
        return $this->result = mysql_query($query, $this->conection);
    }
    
    /** 
     * @name Num_rows
     * Obtiene el número de filas en el resultado.
     * @return Int
     */
    public function Num_rows()
    {
        return mysql_num_rows($this->result);
    }
    
    /** 
     * @name Fetch_array
     * Trae el resultado de una consulta MySQL como un 
     *    array asociativo, un array numérico o ambos.
     * @return Array
     */
    public function Fetch_array()
    {
        return mysql_fetch_array($this->result);
    }
    
    /** 
     * @name Affected_rows
     * Obtiene el número de filas afectadas de una previa consulta MySQL.
     * @return Int
     */
    public function Affected_rows()
    {
        return mysql_affected_rows($this->result);
    }

    /** 
     * @name Close
     * Cierra la conexión MySQL.
     * @return Bool
     */
    public function Close()
    {
        return mysql_close($this->conection);
    }

}
?>